//
//  ZXLSecurityEnum.h
//  SignSecurityDemo
//
//  Created by zxl02 on 2020/8/14.
//  Copyright © 2020 CordovaDemo. All rights reserved.
//

#ifndef ZXLSecurityEnum_h
#define ZXLSecurityEnum_h
// 场景类型
typedef NS_ENUM(NSInteger, SecuritySceneType) {
    SecurityTypeAPI  =1,       // api
    SecurityTypeFile  =2,       // 文件
    SecurityTypeShare =3,       //分享
    SecurityTypeCustom =4,       //自定义
};

typedef NS_CLOSED_ENUM(NSInteger, SecuritySceneServiceType) {
    SecuritySceneServiceTypeEncrypt   =1  ,  //加密
    SecuritySceneServiceTypeVertify   =4  ,  //验签
    SecuritySceneServiceTypeDecrypt   =2  ,  //解密
    SecuritySceneServiceTypeSignal    =3  ,  //加签
};

//加密类型
typedef NS_ENUM(NSInteger,SecurityEncryptType) {
    SecurityEncryptTypeMD5 =1,       //
    SecurityEncryptTypeSHA =2,       //  加密
    SecurityEncryptTypeAES =3,       //  加密
    SecurityEncryptTypeDES =4,       //  加密
    SecurityEncryptTypeRSA =5,       //
};

typedef NS_ENUM(NSInteger, SecuritySignMD5bitType) {
    SecuritySignMD5bitType16bit,
    SecuritySignMD5bitType32bit,
};
//获取字典
typedef NS_ENUM(NSInteger, DictionaryType) {
    DictionaryTypeKey,       // key
    DictionaryTypeValue,     // value
};

typedef NS_CLOSED_ENUM(NSInteger, SecurityResult) {
    SecurityReusltAscending , //升
    SecurityReusltDescending   //降
};

typedef NS_CLOSED_ENUM(NSInteger, SecuritySignLengthAES) {
    kCCKeySizeAES128          = 16,
    kCCKeySizeAES192          = 24,
    kCCKeySizeAES256          = 32,
};


//加密类型
typedef NS_ENUM(NSUInteger, SecuritySignSHAEncryptType) {
    SecuritySignSHAEncryTypeSha1   =1,
    SecuritySignSHAEncryTypeSha224 =2,
    SecuritySignSHAEncryTypeSha256 =3,
    SecuritySignSHAEncryTypeSha384 =4,
    SecuritySignSHAEncryTypeSha512 =5,
};
typedef NS_ENUM(NSInteger,FileSignType) {
     FileSignTypeImg  =1,
     FileSignTypeVideo  =2,
     FileSignTypeWord  =3,
     FileSignTypePDF =4,
};

//typedef NS_ENUM(NSInteger,SecuritySignType) {
//    SecuritySignTypeMD5 =1,       //
//
//    SecuritySignTypeSHA =2,       //  加密
//    SecuritySignTypeAES =3,       //  加密
//    SecuritySignTypeDES =4,       //  加密
//
//    SecuritySignTypeRSA =5,       // 加密 验签
//};
#endif /* ZXLSecurityEnum_h */
